//package com.wnx.job.common.service.impl;
//
//import com.wnx.job.common.service.EsPostService;
//import com.wnx.job.modules.jms.service.JmsPostService;
//import com.wnx.job.nosql.elasticsearch.document.EsPost;
//import com.wnx.job.nosql.elasticsearch.repository.EsPostRepository;
//import org.springframework.data.domain.Page;
//import org.springframework.data.domain.PageRequest;
//import org.springframework.data.domain.Pageable;
//import org.springframework.stereotype.Service;
//import org.springframework.util.CollectionUtils;
//
//import javax.annotation.Resource;
//import java.util.ArrayList;
//import java.util.Iterator;
//import java.util.List;
//
///**
// * 职位搜索管理Service实现类
// * @author by wangnaixing
// * @Description
// * @Date 2021/12/22 12:23
// */
//@Service
//public class EsPostServiceImpl implements EsPostService {
//    @Resource
//    private JmsPostService postService;
//    //@Resource
//    //private EsPostRepository postRepository;
//
//    /**
//     * 导入全部的职位信息进入ES
//     * @return
//     */
//    @Override
//    public int importAll() {
//        //获取数据库全部职位信息
//        List<EsPost> postList =   postService.findAll();
//        //保存到ES，返回插入行数
//        Iterable<EsPost> iterable = postRepository.saveAll(postList);
//        Iterator<EsPost> iterator = iterable.iterator();
//        int result = 0;
//        while (iterator.hasNext()) {
//            result++;
//            iterator.next();
//        }
//        return result;
//    }
//
//    /**
//     * 根据ID删除职位信息
//     * @param id
//     */
//    @Override
//    public void delete(Long id) {
//        //根据ES的ID删除职位信息
//        postRepository.deleteById(id);
//    }
//
//
//    /**
//     * 根据ID批量删除ES职位信息
//     * @param ids
//     */
//    @Override
//    public void delete(List<Long> ids) {
//        if (!CollectionUtils.isEmpty(ids)) {
//            List<EsPost> esProductList = new ArrayList<>();
//            for (Long id : ids) {
//                EsPost esProduct = new EsPost();
//                esProduct.setId(id);
//                esProductList.add(esProduct);
//            }
//            postRepository.deleteAll(esProductList);
//        }
//    }
//
//    /**
//     * 根据职位名称或者职位描述或者工作地址来搜索职位集合
//     * @param keyword
//     * @param pageNum
//     * @param pageSize
//     * @return
//     */
//    @Override
//    public Page<EsPost> search(String keyword, Integer pageNum, Integer pageSize) {
//        Pageable pageable = PageRequest.of(pageNum, pageSize);
//        Page<EsPost> page = postRepository.findByNameOrAddressOrDescription(keyword, keyword, keyword, pageable);
//        System.out.println(page);
//        return page;
//    }
//}
